package cn.com.xiaoshoujia.activities.service;

import cn.com.xiaoshoujia.activities.dto.*;

import java.io.UnsupportedEncodingException;

/**
 * @author dulei
 * @Title: ActivityJoinService
 * @Description: ActivityJoinService接口
 * @Time 2017/7/30 21:19
 */
public interface ActivitiesJoinService {
    /**
     * @Author: dulei
     * @Description: 查看团购订单详情
     * @param: headId 团ID id 团购活动ID
     * @Date: 2017/7/31 11:23
     */
    ActivityJoinResultDTO findTeamJoinResult(Long headId, Long id) throws UnsupportedEncodingException;

    /**
     * @Author: dulei
     * @Description: 发送短信
     * @param: id 团购活动ID clueId 报名信息ID
     * @Date: 2017/7/31 11:56
     */
    boolean sendMsg(Long id, Long clueId);

    /**
     * @Author: dulei
     * @Description: 查看购买人详细信息
     * @param: clueId 购买人员表单ID
     * @Date: 2017/7/31 14:38
     */
    ActivityCluesDetailDTO findDetail(Long clueId) throws UnsupportedEncodingException;

    void sendMsg(String phone, ActivitySmsMsgDTO smsMsg);

    /**
     * 补发短信 2017/08/25
     * @param id 活动ID
     * @param clueId 报名信息ID
     */
    boolean reSendMsg(Long id, Long clueId);

    /**
     * @Author: dulei
     * @Description: 向单买用户发送短信
     * @Date: 2017/8/25 16:25
     */
    void sendSingleMsg(ActivitySmsMsgDTO smsMsg,String phone);

    /**
     * @Author: dulei
     * @Description: 团进行中 发短信
     * @Date: 2017/8/25 16:30
     */
    void sendTeamMsg(ActivitySmsMsgDTO smsMsg, String time, String phone);

    void sendSuccessTeamSms(ActivitySmsMsgDTO smsMsg, String phone);

    /*--------------------wx start--------------------*/
    ActivityUserTeamDTO findUserJoin(ActivityWxParamDTO activityWxParamDTO) throws UnsupportedEncodingException,RuntimeException;

    ActivityShareTeamDTO shareJoin(ActivityWxParamDTO activityWxParamDTO) throws UnsupportedEncodingException;

    ActivityOrderJoinDTO teamNoPay(String sysId, Long id, Integer type);

    /**
     * @Author: dulei
     * @Description: 查询用户备注
     * @param:  * @param null
     * @Date: 2017/12/15 9:32
     */
    ActivitiesCluesRemarkDTO findRemark(Long id);

    boolean updateRemark(Long id, String remark);

    /**
     * @Author: dulei
     * @Description: 改变volume状态
     * @param:  * @param null
     * @Date: 2017/12/15 9:49
     */
    boolean changeVolumeStatus(Long id, Integer status);
    /*--------------------wx end----------------------*/
}
